#include "driverlib.h"

#define DATA_SECTION(name, st_name, sec_name) \
    __attribute__((section(sec_name))) volatile struct st_name name

DATA_SECTION(PieCtrlRegs, PIE_CTRL_REGS, "PieCtrlRegsFile");
DATA_SECTION(PieVectTable0, PIE_VECT_TABLE, "PieVectTable0File");
DATA_SECTION(PieVectTable1, PIE_VECT_TABLE, "PieVectTable1File");
DATA_SECTION(CpuTimer0Regs, CPUTIMER_REGS, "CpuTimer0RegsFile");
DATA_SECTION(CpuTimer1Regs, CPUTIMER_REGS, "CpuTimer1RegsFile");
DATA_SECTION(CpuTimer2Regs, CPUTIMER_REGS, "CpuTimer2RegsFile");
DATA_SECTION(CpuTimer0LC2Regs, LOADCOUNT2_REGS, "CpuTimer0LC2RegsRegsFile");
DATA_SECTION(CpuTimer1LC2Regs, LOADCOUNT2_REGS, "CpuTimer1LC2RegsRegsFile");
DATA_SECTION(CpuTimer2LC2Regs, LOADCOUNT2_REGS, "CpuTimer2LC2RegsRegsFile");
DATA_SECTION(CpuTimerSysRegs, CPUTIMER_SYS_REGS, "CpuTimerSysRegsFile");
DATA_SECTION(ExpRegs, EXP_REGS, "ExpRegsFile");
DATA_SECTION(WdRegs, WD_REGS, "WdRegsFile");
DATA_SECTION(IpcEventRegs, IPC_EVENT_REGS, "IpcEventRegsFile");
DATA_SECTION(IpcCmdRegs, IPC_CMD_REGS, "IpcCmdRegsFile");
DATA_SECTION(TraceBufferRegs, TRACE_BUFFER_REGS, "TraceBufferRegsFile");
DATA_SECTION(WatchPointRegs, WATCH_POINT_REGS, "WatchPointRegsFile");
DATA_SECTION(EccRegs, ECC_REGS, "EccRegsFile");
DATA_SECTION(EradGlobalRegs, ERAD_GLOBAL_REGS, "EradGlobalRegsFile");
DATA_SECTION(EradHWBP1Regs, ERAD_HWBP_REGS, "EradHWBP1RegsFile");
DATA_SECTION(EradHWBP2Regs, ERAD_HWBP_REGS, "EradHWBP2RegsFile");
DATA_SECTION(EradHWBP3Regs, ERAD_HWBP_REGS, "EradHWBP3RegsFile");
DATA_SECTION(EradHWBP4Regs, ERAD_HWBP_REGS, "EradHWBP4RegsFile");
DATA_SECTION(EradHWBP5Regs, ERAD_HWBP_REGS, "EradHWBP5RegsFile");
DATA_SECTION(EradHWBP6Regs, ERAD_HWBP_REGS, "EradHWBP6RegsFile");
DATA_SECTION(EradHWBP7Regs, ERAD_HWBP_REGS, "EradHWBP7RegsFile");
DATA_SECTION(EradHWBP8Regs, ERAD_HWBP_REGS, "EradHWBP8RegsFile");
DATA_SECTION(EradCounter1Regs, ERAD_COUNTER_REGS, "EradCounter1RegsFile");
DATA_SECTION(EradCounter2Regs, ERAD_COUNTER_REGS, "EradCounter2RegsFile");
DATA_SECTION(EradCounter3Regs, ERAD_COUNTER_REGS, "EradCounter3RegsFile");
DATA_SECTION(EradCounter4Regs, ERAD_COUNTER_REGS, "EradCounter4RegsFile");
DATA_SECTION(ClkCfgRegs, CLK_CFG_REGS, "ClkCfgRegsFile");
DATA_SECTION(CpuSysRegs, CPU_SYS_REGS, "CpuSysRegsFile");
DATA_SECTION(DevCfgRegs, DEV_CFG_REGS, "DevCfgRegsFile");
DATA_SECTION(XintRegs, XINT_REGS, "XintRegsFile");
DATA_SECTION(NmiIntruptRegs, NMI_INTRUPT_REGS, "NmiIntruptRegsFile");
DATA_SECTION(Dcc0Regs, DCC_REGS, "Dcc0RegsFile");
DATA_SECTION(GpioCtrlRegs, GPIO_CTRL_REGS, "GpioCtrlRegsFile");
DATA_SECTION(GpioDataRegs, GPIO_DATA_REGS, "GpioDataRegsFile");
DATA_SECTION(InputXbarRegs, INPUT_XBAR_REGS, "InputXbarRegsFile");
DATA_SECTION(EPwmXbarRegs, EPWM_XBAR_REGS, "EPwmXbarRegsFile");
DATA_SECTION(OutputXbarRegs, OUTPUT_XBAR_REGS, "OutputXbarRegsFile");
DATA_SECTION(XbarRegs, XBAR_REGS, "XbarRegsFile");
DATA_SECTION(DmaRegs, DMA_REGS, "DmaRegsFile");
DATA_SECTION(DmaCh1Regs, DMA_CH_REGS, "DmaCH1RegsFile");
DATA_SECTION(DmaCh2Regs, DMA_CH_REGS, "DmaCH2RegsFile");
DATA_SECTION(DmaCh3Regs, DMA_CH_REGS, "DmaCH3RegsFile");
DATA_SECTION(DmaCh4Regs, DMA_CH_REGS, "DmaCH4RegsFile");
DATA_SECTION(DmaCh5Regs, DMA_CH_REGS, "DmaCH5RegsFile");
DATA_SECTION(DmaCh6Regs, DMA_CH_REGS, "DmaCH6RegsFile");
DATA_SECTION(AnalogSubsysRegs, ANALOG_SUBSYS_REGS, "AnalogSubsysRegsFile");
DATA_SECTION(AdcaRegs, ADC_REGS, "AdcaRegsFile");
DATA_SECTION(AdcaResultRegs, ADC_RESULT_REGS, "AdcaResultRegsFile");
DATA_SECTION(AdcbRegs, ADC_REGS, "AdcbRegsFile");
DATA_SECTION(AdcbResultRegs, ADC_RESULT_REGS, "AdcbResultRegsFile");
DATA_SECTION(AdccRegs, ADC_REGS, "AdccRegsFile");
DATA_SECTION(AdccResultRegs, ADC_RESULT_REGS, "AdccResultRegsFile");
DATA_SECTION(Pga1Regs, PGA1_3_REGS, "Pga1RegsFile");
DATA_SECTION(Pga2Regs, PGA1_3_REGS, "Pga2RegsFile");
DATA_SECTION(Pga3Regs, PGA1_3_REGS, "Pga3RegsFile");
DATA_SECTION(Pga4Regs, PGA_REGS, "Pga4RegsFile");
DATA_SECTION(Pga5Regs, PGA_REGS, "Pga5RegsFile");
DATA_SECTION(Pga6Regs, PGA_REGS, "Pga6RegsFile");
DATA_SECTION(Pga7Regs, PGA_REGS, "Pga7RegsFile");
DATA_SECTION(DacaRegs, DAC_REGS, "DacaRegsFile");
DATA_SECTION(DacbRegs, DAC_REGS, "DacbRegsFile");
DATA_SECTION(Cmpss1Regs, CMPSS_REGS, "Cmpss1RegsFile");
DATA_SECTION(Cmpss2Regs, CMPSS_REGS, "Cmpss2RegsFile");
DATA_SECTION(Cmpss3Regs, CMPSS_REGS, "Cmpss3RegsFile");
DATA_SECTION(Cmpss4Regs, CMPSS_REGS, "Cmpss4RegsFile");
DATA_SECTION(Cmpss5Regs, CMPSS_REGS, "Cmpss5RegsFile");
DATA_SECTION(Cmpss6Regs, CMPSS_REGS, "Cmpss6RegsFile");
DATA_SECTION(Cmpss7Regs, CMPSS_REGS, "Cmpss7RegsFile");
DATA_SECTION(Sdfm1Regs, SDFM_REGS, "Sdfm1RegsFile");
DATA_SECTION(ECap1Regs, ECAP_REGS, "ECap1RegsFile");
DATA_SECTION(ECap2Regs, ECAP_REGS, "ECap2RegsFile");
DATA_SECTION(ECap3Regs, ECAP_REGS, "ECap3RegsFile");
DATA_SECTION(ECap4Regs, ECAP_REGS, "ECap4RegsFile");
DATA_SECTION(ECap5Regs, ECAP_REGS, "ECap5RegsFile");
DATA_SECTION(ECap6Regs, ECAP_REGS, "ECap6RegsFile");
DATA_SECTION(ECap7Regs, ECAP_REGS, "ECap7RegsFile");
DATA_SECTION(HRCap6Regs, HRCAP_REGS, "HRCap6RegsFile");
DATA_SECTION(HRCap7Regs, HRCAP_REGS, "HRCap7RegsFile");
DATA_SECTION(SyncSocRegs, SYNC_SOC_REGS, "SyncSocRegsFile");
DATA_SECTION(SFORegs, HRCAL_REGS, "SFORegsFile");
DATA_SECTION(SFOHHRRegs, HRCAL_REGS, "SFOHHRRegsFile");
DATA_SECTION(EPwm1Regs, EPWM_REGS, "EPwm1RegsFile");
DATA_SECTION(EPwm2Regs, EPWM_REGS, "EPwm2RegsFile");
DATA_SECTION(EPwm3Regs, EPWM_REGS, "EPwm3RegsFile");
DATA_SECTION(EPwm4Regs, EPWM_REGS, "EPwm4RegsFile");
DATA_SECTION(EPwm5Regs, EPWM_REGS, "EPwm5RegsFile");
DATA_SECTION(EPwm6Regs, EPWM_REGS, "EPwm6RegsFile");
DATA_SECTION(EPwm7Regs, EPWM_REGS, "EPwm7RegsFile");
DATA_SECTION(EPwm8Regs, EPWM_REGS, "EPwm8RegsFile");
DATA_SECTION(EPwm9Regs, EPWM_REGS, "EPwm9RegsFile");
DATA_SECTION(EPwm10Regs, EPWM_REGS, "EPwm10RegsFile");
DATA_SECTION(EPwm11Regs, EPWM_REGS, "EPwm11RegsFile");
DATA_SECTION(EPwm12Regs, EPWM_REGS, "EPwm12RegsFile");
DATA_SECTION(EQep1Regs, EQEP_REGS, "EQep1RegsFile");
DATA_SECTION(EQep2Regs, EQEP_REGS, "EQep2RegsFile");
DATA_SECTION(SpiaRegs, COMBINE_REGS, "SpiaRegsFile");
DATA_SECTION(SpibRegs, COMBINE_REGS, "SpibRegsFile");
DATA_SECTION(SciaRegs, SCI_REGS, "SciaRegsFile");
DATA_SECTION(ScibRegs, SCI_REGS, "ScibRegsFile");
DATA_SECTION(I2caRegs, I2C_REGS, "I2caRegsFile");
DATA_SECTION(PmbusaRegs, PMBUS_REGS, "PmbusaRegsFile");
DATA_SECTION(LinaRegs, LIN_REGS, "LinaRegsFile");
DATA_SECTION(FsiRxaRegs, FSI_RX_REGS, "FsiRxaRegsFile");
DATA_SECTION(FsiTxaRegs, FSI_TX_REGS, "FsiTxaRegsFile");
DATA_SECTION(CanFDaRegs, CANFD_REGS, "CanFDaRegsFile");
DATA_SECTION(CanFDbRegs, CANFD_REGS, "CanFDbRegsFile");
DATA_SECTION(Flash0CtrlRegs, FLASH_CTRL_REGS, "Flash0CtrlRegsFile");
DATA_SECTION(IPC_CPU1_To_CPU2_PutBuffer, IPC_PutBuffer_t, "MsgRamCpu1ToCpu2File");
DATA_SECTION(IPC_CPU1_To_CPU2_GetBuffer, IPC_GetBuffer_t, "MsgRamCpu2ToCpu1File");
